home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / mint / utils / lack.zoo / jump.s < prev    next >
Text File  |  1993-12-22  |  761b  |  34 lines

  1.         .globl _setjump
  2.         .globl _longjump
  3.         .text
  4. _setjump:    movw  sr, d1
  5.         oriw  #0x700, sr
  6.         movl  sp@(4), a0   | lap *arg
  7.         lea   a0@(8), a0   | regs
  8.         movml d1-d7/a2-a6, a0@
  9.         lea   sp@(4), a1   | sp after rts
  10.         movl  a1, a0@(-4)  | arg->mystk
  11.         movl  sp@, a0@(52) | pc after rts
  12.         movl  usp, a1
  13.         movl  a1, a0@(56)
  14.         movl  _curapp, a1
  15.         movl  a1@, a1      | curapp->istk
  16.         subql #4, a1       | let caller pop arg
  17.         movl  a1, sp
  18.         movl  a0@(52), a1  | pc
  19.         movq  #0, d0
  20.         movw  d1, sr
  21.         jmp   a1@
  22. _longjump:    oriw  #0x700, sr
  23.         movl  sp@(4), a0
  24.         lea   a0@(8), a0
  25.         movml a0@, d1-d7/a2-a6
  26.         movl  a0@(-4), a1  | mystk
  27.         movl  a1, sp
  28.         movl  a0@(56), a1
  29.         movl  a1, usp
  30.         movq  #1, d0
  31.         movl  a0@(52), a1
  32.         movw  d1, sr
  33.         jmp   a1@
  34.